梯度消失,梯度爆炸

Pasted image 20240607151812.png

  • 梯度消失(Vanishing Gradient)指的是在反向传播过程中,由于网络层数过多或者选取了不适合的激活函数,在较靠前的层中梯度变得非常小,甚至趋近于零,导致这些层参数无法得到有效更新,从而使得网络无法训练或者训练非常缓慢。

    • 容易发生梯度消失的激活函数:
      • SigmoidPasted image 20240607151848.png
    • Tanh:Pasted image 20240607151913.png
  • 梯度爆炸(Exploding Gradient)则是相反的情况,梯度在反向传播过程中变得非常大,导致权重更新过大,网络变得不稳定甚至发散。

  • 缓解梯度消失

    • 使用合适的激活函数(如ReLU,Leaky Rely)
  • 缓解来梯度爆炸

    • 梯度裁剪(gradient clipping):其思想是设置一个梯度剪切阈值,然后更新梯度的时候,如果梯度超过这个阈值,那么就将其强制限制在这个范围之内。这可以防止梯度爆炸。
    • 权重正则化